<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 1.5.5.dev">
<title>Asciidoc Book Editor based on JavaFX 8</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
<style>
/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
/* Remove comment around @import statement below when using as a custom stylesheet */
/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden],template{display:none}
script{display:none!important}
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0}
a{background:transparent}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
html,body{font-size:100%}
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
a:hover{cursor:pointer}
img,object,embed{max-width:100%;height:auto}
object,embed{height:100%}
img{-ms-interpolation-mode:bicubic}
.left{float:left!important}
.right{float:right!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
.text-justify{text-align:justify!important}
.hide{display:none}
body{-webkit-font-smoothing:antialiased}
img,object,svg{display:inline-block;vertical-align:middle}
textarea{height:auto;min-height:50px}
select{width:100%}
.center{margin-left:auto;margin-right:auto}
.spread{width:100%}
p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
a{color:#2156a5;text-decoration:underline;line-height:inherit}
a:hover,a:focus{color:#1d4b8f}
a img{border:none}
p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
ul.square{list-style-type:square}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
ul.no-bullet{list-style:none}
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
dl dt{margin-bottom:.3125em;font-weight:bold}
dl dd{margin-bottom:1.25em}
abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
abbr{text-transform:none}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
blockquote cite:before{content:"\2014 \0020"}
blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
h1{font-size:2.75em}
h2{font-size:2.3125em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
h4{font-size:1.4375em}}
table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
table thead,table tfoot{background:#f7f8f7;font-weight:bold}
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
body{tab-size:4}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
.clearfix:after,.float-group:after{clear:both}
*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
.keyseq{color:rgba(51,51,51,.8)}
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
.keyseq kbd:first-child{margin-left:0}
.keyseq kbd:last-child{margin-right:0}
.menuseq,.menu{color:rgba(0,0,0,.8)}
b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
b.button:before{content:"[";padding:0 3px 0 2px}
b.button:after{content:"]";padding:0 2px 0 3px}
p a>code:hover{color:rgba(0,0,0,.9)}
#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
#content{margin-top:1.25em}
#content:before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span:before{content:"\00a0\2013\00a0"}
#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark:before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber:after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc li{line-height:1.3334;margin-top:.3334em}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#7a2518;font-size:1.2em}
@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}
#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
#content #toc>:first-child{margin-top:0}
#content #toc>:last-child{margin-bottom:0}
#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
.sect1{padding-bottom:.625em}
@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
.sect1+.sect1{border-top:1px solid #efefed}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
.admonitionblock>table td.icon{text-align:center;width:80px}
.admonitionblock>table td.icon img{max-width:none}
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
.exampleblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child{margin-bottom:0}
.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
.sidebarblock>:first-child{margin-top:0}
.sidebarblock>:last-child{margin-bottom:0}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
.listingblock pre.highlightjs{padding:0}
.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
.listingblock pre.prettyprint{border-width:0}
.listingblock>.content{position:relative}
.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
.listingblock:hover code[data-lang]:before{display:block}
.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
table.pyhltable td.code{padding-left:.75em;padding-right:0}
pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
pre.pygments .lineno{display:inline-block;margin-right:.25em}
table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
.quoteblock blockquote{margin:0;padding:0;border:0}
.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
.quoteblock .quoteblock blockquote:before{display:none}
.verseblock{margin:0 1em 1.25em 1em}
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
.verseblock pre strong{font-weight:400}
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
.quoteblock .attribution br,.verseblock .attribution br{display:none}
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
table.tableblock{max-width:100%;border-collapse:separate}
table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
table.frame-all{border-width:1px}
table.frame-sides{border-width:0 1px}
table.frame-topbot{border-width:1px 0}
th.halign-left,td.halign-left{text-align:left}
th.halign-right,td.halign-right{text-align:right}
th.halign-center,td.halign-center{text-align:center}
th.valign-top,td.valign-top{vertical-align:top}
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
th.valign-middle,td.valign-middle{vertical-align:middle}
table thead th,table tfoot th{font-weight:bold}
tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
p.tableblock>code:only-child{background:none;padding:0}
p.tableblock{font-size:1em}
td>div.verse{white-space:pre}
ol{margin-left:1.75em}
ul li ol{margin-left:1.5em}
dl dd{margin-left:1.125em}
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
ul.inline>li>*{display:block}
.unstyled dl dt{font-weight:400;font-style:normal}
ol.arabic{list-style-type:decimal}
ol.decimal{list-style-type:decimal-leading-zero}
ol.loweralpha{list-style-type:lower-alpha}
ol.upperalpha{list-style-type:upper-alpha}
ol.lowerroman{list-style-type:lower-roman}
ol.upperroman{list-style-type:upper-roman}
ol.lowergreek{list-style-type:lower-greek}
.hdlist>table,.colist>table{border:0;background:none}
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
.colist>table tr>td:last-of-type{padding:.25em 0}
.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
.gist .file-data>table td.line-data{width:99%}
div.unbreakable{page-break-inside:avoid}
.big{font-size:larger}
.small{font-size:smaller}
.underline{text-decoration:underline}
.overline{text-decoration:overline}
.line-through{text-decoration:line-through}
.aqua{color:#00bfbf}
.aqua-background{background-color:#00fafa}
.black{color:#000}
.black-background{background-color:#000}
.blue{color:#0000bf}
.blue-background{background-color:#0000fa}
.fuchsia{color:#bf00bf}
.fuchsia-background{background-color:#fa00fa}
.gray{color:#606060}
.gray-background{background-color:#7d7d7d}
.green{color:#006000}
.green-background{background-color:#007d00}
.lime{color:#00bf00}
.lime-background{background-color:#00fa00}
.maroon{color:#600000}
.maroon-background{background-color:#7d0000}
.navy{color:#000060}
.navy-background{background-color:#00007d}
.olive{color:#606000}
.olive-background{background-color:#7d7d00}
.purple{color:#600060}
.purple-background{background-color:#7d007d}
.red{color:#bf0000}
.red-background{background-color:#fa0000}
.silver{color:#909090}
.silver-background{background-color:#bcbcbc}
.teal{color:#006060}
.teal-background{background-color:#007d7d}
.white{color:#bfbfbf}
.white-background{background-color:#fafafa}
.yellow{color:#bfbf00}
.yellow-background{background-color:#fafa00}
span.icon>.fa{cursor:default}
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
.conum[data-value] *{color:#fff!important}
.conum[data-value]+b{display:none}
.conum[data-value]:after{content:attr(data-value)}
pre .conum[data-value]{position:relative;top:-.125em}
b.conum *{color:inherit!important}
.conum:not([data-value]):empty{display:none}
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@media print{@page{margin:1.25cm .75cm}
*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
a{color:inherit!important;text-decoration:underline!important}
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
abbr[title]:after{content:" (" attr(title) ")"}
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
thead{display:table-header-group}
svg{max-width:100%}
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
.sect1{padding-bottom:0!important}
.sect1+.sect1{border:0!important}
#header>h1:first-child{margin-top:1.25rem}
body.book #header{text-align:center}
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
body.book #header .details{border:0!important;display:block;padding:0!important}
body.book #header .details span:first-child{margin-left:0!important}
body.book #header .details br{display:block}
body.book #header .details br+span:before{content:none!important}
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
.listingblock code[data-lang]:before{display:block}
#footer{background:none!important;padding:0 .9375em}
#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
.hide-on-print{display:none!important}
.print-only{display:block!important}
.hide-for-print{display:none!important}
.show-for-print{display:inherit!important}}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css">
</head>
<body class="article toc2 toc-left">
<div id="header">
<h1>Asciidoc Book Editor based on JavaFX 8</h1>
<div id="toc" class="toc2">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#truefeatures">Features</a></li>
<li><a href="#truehow-to-install-asciidocfx">How to Install AsciidocFX</a>
<ul class="sectlevel2">
<li><a href="#trueinstall-on-linux">Install on Linux</a></li>
<li><a href="#trueinstall-on-windows">Install on Windows</a></li>
<li><a href="#trueinstall-on-mac">Install on Mac</a></li>
<li><a href="#trueinstallation-notes">Installation Notes</a></li>
</ul>
</li>
<li><a href="#truea-quick-dive">A Quick Dive</a></li>
<li><a href="#trueplantuml-extension">PlantUML Extension</a></li>
<li><a href="#trueditaa-extension">ditaa Extension</a></li>
<li><a href="#truemathjax-extension">MathJax Extension</a></li>
<li><a href="#truetex-output">Tex output</a></li>
<li><a href="#truemathml-output">MathML output</a></li>
<li><a href="#truefilesystem-tree-extension">Filesystem Tree Extension</a></li>
<li><a href="#truefilesystem-tree-output">Filesystem Tree output</a></li>
<li><a href="#truefilesystem-tree-output-em-new-em">Filesystem Tree output (<em>new</em>)</a></li>
<li><a href="#truejavafx-charts-extension">JavaFX Charts Extension</a>
<ul class="sectlevel2">
<li><a href="#truepie-chart">Pie Chart</a></li>
<li><a href="#truearea-chart">Area Chart</a></li>
</ul>
</li>
<li><a href="#truehow-to-build-asciidocfx">How to Build AsciidocFX</a>
<ul class="sectlevel2">
<li><a href="#truebuild-on-linux-ubuntu-mint">Build on Linux (Ubuntu/Mint)</a></li>
</ul>
</li>
<li><a href="#truebooks-written-with-asciidocfx">Books Written with AsciidocFX</a></li>
<li><a href="#trueslides-reveal-js-and-deck-js">Slides (Reveal.js and Deck.js)</a></li>
<li><a href="#trueused-technologies">Used Technologies</a></li>
<li><a href="#trueasciidocfx-configuration">AsciidocFX Configuration</a></li>
<li><a href="#truesome-shortcuts">Some Shortcuts</a></li>
<li><a href="#trueknown-issues">Known Issues</a></li>
<li><a href="#truechangelog">Changelog</a></li>
<li><a href="#truesupport">Support</a></li>
</ul>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p><span class="image"><a class="image" href="https://travis-ci.org/asciidocfx/AsciidocFX"><img src="https://api.travis-ci.org/asciidocfx/AsciidocFX.svg?branch=master" alt="Build Status"></a></span>
<span class="image"><a class="image" href="https://gitter.im/asciidocfx/AsciidocFX"><img src="https://badges.gitter.im/Join%20Chat.svg" alt="Gitter"></a></span></p>
</div>
<div style="width:100%;text-align: right;margin-bottom:20px;">
<a class="github-button" href="https://github.com/asciidocfx/asciidocfx" data-icon="octicon-star" data-style="mega" data-count-href="/asciidocfx/asciidocfx/stargazers" data-count-api="/repos/asciidocfx/asciidocfx#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star asciidocfx/asciidocfx on GitHub">Star</a>

<a class="github-button" href="https://github.com/asciidocfx/asciidocfx/fork" data-icon="octicon-git-branch" data-style="mega" data-count-href="/asciidocfx/asciidocfx/network" data-count-api="/repos/asciidocfx/asciidocfx#forks_count" data-count-aria-label="# forks on GitHub" aria-label="Fork asciidocfx/asciidocfx on GitHub">Fork</a>
</div>

<script async defer id="github-bjs" src="https://buttons.github.io/buttons.js"></script>
<div class="paragraph">
<p>Asciidoc FX is a book / document editor to build PDF, Epub, Mobi and HTML books, documents and slides. AsciidocFX is also a winner of <a href="https://www.oracle.com/corporate/pressrelease/dukes-award-102815.html">Duke&#8217;s Choice Award 2015</a>.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="asciidocfx.png">
</div>
<div class="title">Figure 1. AsciidocFX - Duke&#8217;s Choice Award 2015 winner</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truefeatures"><a class="anchor" href="#truefeatures"></a>Features</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Real-Time Preview</p>
</li>
<li>
<p>Multi-platform (Windows, Mac, Linux)</p>
</li>
<li>
<p>Creating Asciidoc Books</p>
</li>
<li>
<p>Creating Markdown Books</p>
</li>
<li>
<p>Creating PDF, HTML, Epub, Mobi, Odt, Docbook</p>
</li>
<li>
<p>Epub Viewer</p>
</li>
<li>
<p>External Browser Support</p>
</li>
<li>
<p>Table Generator</p>
</li>
<li>
<p>MathJax Extension</p>
</li>
<li>
<p>PlantUML Extension</p>
</li>
<li>
<p>ditaa Extension</p>
</li>
<li>
<p>Filesystem Tree Extension</p>
</li>
<li>
<p>JavaFX Charts Extension</p>
</li>
<li>
<p>Source Code Highlighter</p>
</li>
<li>
<p>Reveal.js Converter</p>
</li>
<li>
<p>Deck.js Converter</p>
</li>
<li>
<p>Nashorn support</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truehow-to-install-asciidocfx"><a class="anchor" href="#truehow-to-install-asciidocfx"></a>How to Install AsciidocFX</h2>
<div class="sectionbody">
<div class="paragraph">
<p>There are a number of operating systems that AsciidocFX supports.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
The latest releases are available from the <a href="https://github.com/asciidocfx/AsciidocFX/releases">Github releases page</a>.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p><a href="#Supported_OS">Supported Operating Systems and Builds</a> shows the list of available builds with links for reference. If you are looking for the very latest version, visit the link in the note above to be guaranteed of downloading the latest and greatest version of AsciidocFX.</p>
</div>
<table id="Supported_OS" class="tableblock frame-all grid-all spread">
<caption class="title">Table 1. Supported Operating Systems and Builds</caption>
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">OS</th>
<th class="tableblock halign-left valign-top">JRE included?</th>
<th class="tableblock halign-left valign-top">Filename</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-center valign-middle"><p class="tableblock">Mac</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Mac.dmg">AsciidocFX_Mac.dmg</a></p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-middle" rowspan="4"><p class="tableblock">Windows</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Windows.exe">AsciidocFX_Windows.exe</a></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Windows.zip">AsciidocFX_Windows.zip</a></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Windows_No_JRE.exe">AsciidocFX_Windows_No_JRE.exe</a></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Windows_No_JRE.zip">AsciidocFX_Windows_No_JRE.zip</a></p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-middle" rowspan="2"><p class="tableblock">Linux</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Linux.tar.gz">AsciidocFX_Linux.tar.gz</a></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.5/AsciidocFX_Linux_No_JRE.tar.gz">AsciidocFX_Linux_No_JRE.tar.gz</a></p></td>
</tr>
</tbody>
</table>
<div class="sect2">
<h3 id="trueinstall-on-linux"><a class="anchor" href="#trueinstall-on-linux"></a>Install on Linux</h3>
<div class="paragraph">
<p>After the download is completed, untar the package in your preferred directory.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ cd /bin
$ ./AsciidocFX.sh</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="trueinstall-on-windows"><a class="anchor" href="#trueinstall-on-windows"></a>Install on Windows</h3>
<div class="paragraph">
<p>Download executable/installer and run it.</p>
</div>
</div>
<div class="sect2">
<h3 id="trueinstall-on-mac"><a class="anchor" href="#trueinstall-on-mac"></a>Install on Mac</h3>
<div class="paragraph">
<p>Download the <code>.dmg</code> and run it.</p>
</div>
</div>
<div class="sect2">
<h3 id="trueinstallation-notes"><a class="anchor" href="#trueinstallation-notes"></a>Installation Notes</h3>
<div class="paragraph">
<p>There are two AsciidocFX package flavors, you can download it with JRE 8 out-of-box or if you have already installed JRE 8 (Update 40 or above), you can download *No_JRE builds</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">Graphviz</dt>
<dd>
<p>PlantUML extension needs Graphviz, if you will use it, then install it:</p>
<div class="listingblock">
<div class="title">Ubuntu</div>
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">sudo apt-get install graphviz</code></pre>
</div>
</div>
<div class="listingblock">
<div class="title">Mac OS X</div>
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install graphviz</code></pre>
</div>
</div>
<div class="listingblock">
<div class="title">Windows</div>
<div class="content">
<pre>http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi</pre>
</div>
</div>
</dd>
</dl>
</div>
<div id="microsoft-core-fonts" class="dlist">
<dl>
<dt class="hdlist1">Microsoft Core Fonts</dt>
<dd>
<p>You <em>must</em> install Microsoft Core Fonts on Linux OSes also.</p>
</dd>
</dl>
</div>
<div class="paragraph">
<p><span class="underline">Ubuntu/Debian</span></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">sudo apt-get install ttf-mscorefonts-installer</code></pre>
</div>
</div>
<div class="paragraph">
<p><span class="underline">Fedora</span></p>
</div>
<div class="paragraph">
<p>If you are using Fedora, you need to install the RPM provided from this URL: <a href="http://sourceforge.net/projects/mscorefonts2/files/latest/download">mscorefonts2</a></p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">KindleGen</dt>
<dd>
<p>You <em>must</em> install <a href="http://www.amazon.com/gp/feature.html?docId=1000765211">KindleGen</a>, If you need to convert your documents into Mobi files. Once you specify the location of KindleGen executable, Mobi Service provided by AFX will be available.</p>
</dd>
</dl>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truea-quick-dive"><a class="anchor" href="#truea-quick-dive"></a>A Quick Dive</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong><a href="http://youtu.be/2goMtz_vdtM">Video - Writing Books with Asciidoc FX</a></strong></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="trueplantuml-extension"><a class="anchor" href="#trueplantuml-extension"></a>PlantUML Extension</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You can fulfill your UML needs with AsciidocFX. It supports PlantUML. AsciidocFX converts this textual UML elements as png or svg image.</p>
</div>
<div class="paragraph">
<p><a href="http://plantuml.sourceforge.net/">PlantUML</a> is a component that allows to quickly write :</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Sequence diagram,</p>
</li>
<li>
<p>Usecase diagram,</p>
</li>
<li>
<p>Class diagram,</p>
</li>
<li>
<p>Activity diagram, (here is the new syntax),</p>
</li>
<li>
<p>Component diagram,</p>
</li>
<li>
<p>State diagram,</p>
</li>
<li>
<p>Object diagram.</p>
</li>
<li>
<p>wireframe graphical interface</p>
</li>
</ul>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java" data-lang="java">.UML Diagram Example
[uml,file="uml-example.png"]
--
abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection

List &lt;|-- AbstractList
Collection &lt;|-- AbstractCollection

Collection &lt;|- List
AbstractCollection &lt;|- AbstractList
AbstractList &lt;|-- ArrayList

class ArrayList {
  Object[] elementData
  size()
}

enum TimeUnit {
  DAYS
  HOURS
  MINUTES
}

annotation SuppressWarnings
--</code></pre>
</div>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="uml example.png">
</div>
<div class="title">Figure 2. UML example output</div>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
In some UML elements, PlantUML needs to work with Graphviz. Because of this, you should install <code>Graphviz</code> manually for your platform. After installing Graphviz, you should set <code>GRAPHVIZ_DOT</code> environment variable to <code>dot</code> executable in Graphviz.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="trueditaa-extension"><a class="anchor" href="#trueditaa-extension"></a>ditaa Extension</h2>
<div class="sectionbody">
<div class="paragraph">
<p>AsciidocFX supports ditaa diagrams.</p>
</div>
<div class="paragraph">
<p><a href="http://ditaa.sourceforge.net/">ditaa</a> is a component that converts diagrams drawn in ascii art to bitmap graphics.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-asciidoc" data-lang="asciidoc">.ditaa Diagram Example
[ditaa,file="images/ditaa-example.png"]
--
    +--------+   +-------+    +-------+
    |        |---+ ditaa +---&gt;|       |
    |  Text  |   +-------+    |diagram|
    |Document|   |!magic!|    |       |
    |     {d}|   |       |    |       |
    +---+----+   +-------+    +-------+
        :                         ^
        |       Lots of work      |
        +-------------------------+
--</code></pre>
</div>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="ditaa example.png">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truemathjax-extension"><a class="anchor" href="#truemathjax-extension"></a>MathJax Extension</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="http://www.mathjax.org/">MathJax</a> is an open source JavaScript display engine for mathematics that works in all browsers.</p>
</div>
<div class="paragraph">
<p>You can use <code>Tex</code> or <code>MathML</code> languages for describing mathematical formulas in AsciidocFX. AsciidocFX converts this textual formulas as png or svg image.</p>
</div>
<div class="listingblock">
<div class="title">For Example (Tex)</div>
<div class="content">
<pre class="highlightjs highlight"><code class="language-tex" data-lang="tex">[math,file="tex-formula.png"]
--
\begin{align}
\dot{x} &amp; = \sigma(y-x) \\
\dot{y} &amp; = \rho x - y - xz \\
\dot{z} &amp; = -\beta z + xyp
\end{align}
--</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truetex-output"><a class="anchor" href="#truetex-output"></a>Tex output</h2>
<div class="sectionbody">
<div class="imageblock">
<div class="content">
<img src="" alt="tex formula.png">
</div>
</div>
<div class="listingblock">
<div class="title">For Example (MathML)</div>
<div class="content">
<pre class="highlightjs highlight"><code class="language-xml" data-lang="xml">[math,file="mathml-formula.png"]
--
&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="block"&gt;
  &lt;mi&gt;x&lt;/mi&gt;
  &lt;mo&gt;=&lt;/mo&gt;
  &lt;mrow&gt;
    &lt;mfrac&gt;
      &lt;mrow&gt;
        &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
        &lt;mi&gt;b&lt;/mi&gt;
        &lt;mo&gt;&amp;#xB1;&lt;/mo&gt;
        &lt;msqrt&gt;
          &lt;msup&gt;
            &lt;mi&gt;b&lt;/mi&gt;
            &lt;mn&gt;2&lt;/mn&gt;
          &lt;/msup&gt;
          &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
          &lt;mn&gt;4&lt;/mn&gt;
          &lt;mi&gt;a&lt;/mi&gt;
          &lt;mi&gt;c&lt;/mi&gt;
        &lt;/msqrt&gt;
      &lt;/mrow&gt;
      &lt;mrow&gt;
        &lt;mn&gt;2&lt;/mn&gt;
        &lt;mi&gt;a&lt;/mi&gt;
      &lt;/mrow&gt;
    &lt;/mfrac&gt;
  &lt;/mrow&gt;
  &lt;mtext&gt;.&lt;/mtext&gt;
&lt;/math&gt;
--</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truemathml-output"><a class="anchor" href="#truemathml-output"></a>MathML output</h2>
<div class="sectionbody">
<div class="imageblock">
<div class="content">
<img src="" alt="mathml formula.png">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truefilesystem-tree-extension"><a class="anchor" href="#truefilesystem-tree-extension"></a>Filesystem Tree Extension</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You can represent filesystem tree in following <code>tree</code> block. There is two style of FS tree.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java" data-lang="java">[tree,file="tree-view.png"]
--
#src
##main
###java
####com
#####kodcu
######App.java
###resources
####css
#####style.css
####js
#####script.js
####images
#####image.png
--</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truefilesystem-tree-output"><a class="anchor" href="#truefilesystem-tree-output"></a>Filesystem Tree output</h2>
<div class="sectionbody">
<div class="paragraph">
<p>When you drag and drop a folder to editor, AFX will generate this like tree automatically.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="tree view.png">
</div>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java" data-lang="java">[tree,file="tree-view-new.png"]
--
root
|-- photos
|   |-- camp.gif
|   |-- festival.png
|   `-- balloon.jpg
|-- videos
|   |-- car-video.avi
|   |-- dance.mp4
|   |-- dance01.mpg
|   |-- another video.divx
|   `-- school videos
|       `-- firstday.flv
|-- documents
|   |-- jsfile.js
|   |-- powerpoint.ppt
|   |-- chapter-01.asc
|   |-- archive-db.zip
|   |-- .gitignore
|   |-- README
|   `-- configuration.conf
`-- etc.
--</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truefilesystem-tree-output-em-new-em"><a class="anchor" href="#truefilesystem-tree-output-em-new-em"></a>Filesystem Tree output (<em>new</em>)</h2>
<div class="sectionbody">
<div class="imageblock">
<div class="content">
<img src="" alt="tree view new.png">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truejavafx-charts-extension"><a class="anchor" href="#truejavafx-charts-extension"></a>JavaFX Charts Extension</h2>
<div class="sectionbody">
<div class="paragraph">
<p>JavaFX has 8 kind of Chart component and AsciidocFX supports all of them.</p>
</div>
<div class="sect2">
<h3 id="truepie-chart"><a class="anchor" href="#truepie-chart"></a>Pie Chart</h3>
<div class="listingblock">
<div class="content">
<pre>[chart,pie,file="secim-2014-pie.png",opt="title=2014 YEREL SEÇİM SONUÇLARI"]
--
AKP,  45.6, orange
CHP,  27.8,red
MHP,  15.2
BDP,  4.2
SP,  2
--</pre>
</div>
</div>
<hr>
<div class="listingblock">
<div class="content">
<pre>chart::pie[data-uri="pie.csv",file="secim-2014-pie-csv.png"]</pre>
</div>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="secim 2014 pie.png">
</div>
</div>
</div>
<div class="sect2">
<h3 id="truearea-chart"><a class="anchor" href="#truearea-chart"></a>Area Chart</h3>
<div class="listingblock">
<div class="content">
<pre>[chart,area,file="area-chart.png"]
--
//April
1,  4
3,  10
6,  15
9,  8
12, 5

//May
1,  20
3,  15
6,  13
9,  12
12, 14
--</pre>
</div>
</div>
<hr>
<div class="listingblock">
<div class="content">
<pre>chart::area[data-uri="area.csv",file="area-chart-csv.png"]</pre>
</div>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="area chart.png">
</div>
</div>
<div class="paragraph">
<p>For other charts and available options, look at <a href="https://github.com/asciidocfx/AsciidocFX/wiki/Chart-Extension">Chart extension</a> wiki page!</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truehow-to-build-asciidocfx"><a class="anchor" href="#truehow-to-build-asciidocfx"></a>How to Build AsciidocFX</h2>
<div class="sectionbody">
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Firstly, install <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK 8</a></p>
</li>
<li>
<p>Download <a href="http://maven.apache.org/download.cgi">Apache Maven</a> and set <code>/bin</code> directory to environment variables</p>
</li>
<li>
<p>Enter <code>AsciidocFX</code> directory and run <code>$ mvn clean install</code></p>
</li>
<li>
<p>Follow to <code>target/appassembler/bin</code> directory and you will see <code>asciidocfx.sh</code> and <code>asciidocfx.bat</code></p>
</li>
</ol>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
We are generating builts with <strong>Travis-CI</strong> automatically.
NOTE: All builds x64 based. If you want to use in x86 systems, build AsciidocFX yourself.
</td>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="truebuild-on-linux-ubuntu-mint"><a class="anchor" href="#truebuild-on-linux-ubuntu-mint"></a>Build on Linux (Ubuntu/Mint)</h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Install Oracle JDK 8.</p>
<div class="ulist">
<ul>
<li>
<p><a href="http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/" class="bare">http://tecadmin.net/install-oracle-java-8-jdk-8-ubuntu-via-ppa/</a></p>
</li>
</ul>
</div>
</li>
<li>
<p>Install Maven</p>
<div class="ulist">
<ul>
<li>
<p>sudo apt-get install maven</p>
</li>
</ul>
</div>
</li>
<li>
<p>Install Git</p>
<div class="ulist">
<ul>
<li>
<p>sudo apt-get install git</p>
</li>
</ul>
</div>
</li>
<li>
<p>Clone the AsciidocFX repository from Github.</p>
</li>
<li>
<p>Navigate to the <strong>AsciidocFX</strong> directory and run $ <code>mvn clean install</code></p>
</li>
<li>
<p>Navigate to the <strong>target/appassembler/bin</strong> directory and run $ <code>./asciidocfx.sh</code> to start AsciidocFX.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truebooks-written-with-asciidocfx"><a class="anchor" href="#truebooks-written-with-asciidocfx"></a>Books Written with AsciidocFX</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">Java 8 Ebook</dt>
<dd>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/rahmanusta/java8-ebook">Github</a></p>
</li>
<li>
<p><a href="http://kodcu.com/java-8-ebook/">ePub + Kindle + PDF</a></p>
</li>
</ul>
</div>
</dd>
<dt class="hdlist1">AspectJ Ebook</dt>
<dd>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/ozlerhakan/aspectj-ebook">Github</a></p>
</li>
<li>
<p><a href="http://kodcu.com/aspectj-ebook/">ePub + Kindle + PDF</a></p>
</li>
</ul>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="trueslides-reveal-js-and-deck-js"><a class="anchor" href="#trueslides-reveal-js-and-deck-js"></a>Slides (Reveal.js and Deck.js)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>AsciidocFX has a built-in template converter for Reveal.js and Deck.js. To getting start with slide authoring, you can just follow <span class="menuseq"><span class="menu">New</span>&#160;&#9656; <span class="menuitem">Slide</span></span> menu.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="new slide.png">
</div>
<div class="title">Figure 3. <span class="menuseq"><span class="menu">New</span>&#160;&#9656; <span class="menuitem">Slide</span></span></div>
</div>
<div class="paragraph">
<p>After that AFX will prompt you a freespace directory name and <strong>"OK"</strong> you will see the slide demo.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="" alt="slide demo.png">
</div>
<div class="title">Figure 4. Slide demo</div>
</div>
<div class="paragraph">
<p>You can easily switch between reveal.js and deck.js by changing the comment below. Also, you can configure default settings by editing <code>_settings_reveal.adoc</code> and <code>include::_settings_deck.adoc</code>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-asciidoc" data-lang="asciidoc">include::_settings_reveal.adoc[]

// include::_settings_deck.adoc[]</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="trueused-technologies"><a class="anchor" href="#trueused-technologies"></a>Used Technologies</h2>
<div class="sectionbody">
<div class="paragraph">
<p>AsciidocFX uses Java, JavaScript and XML related technologies.</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Java FX 8</p>
</li>
<li>
<p>Asciidoctor.js</p>
</li>
<li>
<p>Spring Boot</p>
</li>
<li>
<p>Spring WebSocket</p>
</li>
<li>
<p>Docbook</p>
</li>
<li>
<p>Apache Fop</p>
</li>
<li>
<p>Saxon 6.5</p>
</li>
<li>
<p>Ace editor</p>
</li>
<li>
<p>Nashorn</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="trueasciidocfx-configuration"><a class="anchor" href="#trueasciidocfx-configuration"></a>AsciidocFX Configuration</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You can configurate AsciidocFX with Settings page (Press <span class="keyseq"><kbd>Ctrl</kbd>+<kbd>F4</kbd></span>). The all configs located in [Install_Dir]/conf folder.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truesome-shortcuts"><a class="anchor" href="#truesome-shortcuts"></a>Some Shortcuts</h2>
<div class="sectionbody">
<div class="paragraph">
<p>AFX supports this ace shortcuts <a href="https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts" class="bare">https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts</a> and custom shortcuts listed below . If you suggest us any shortcut request, we can implement it.</p>
</div>
<table class="tableblock frame-all grid-all spread">
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Shortcut</th>
<th class="tableblock halign-left valign-top">Detail</th>
</tr>
</thead>
<tfoot>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><kbd>F12</kbd></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Opens Firebug Lite (Requires Internet Connection)</p></td>
</tr>
</tfoot>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>F4</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Show settings</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>V</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Converts and pastes selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>V</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Pastes selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>tblx&#44;y</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates asciidoc table (x=row,y=column)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>tblx.y</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates asciidoc table (x=row,y=column)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>src</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates asciidoc source block (default lang: java)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>src.lang</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates asciidoc source block by lang</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>src&#44;lang</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates asciidoc source block by lang</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>img</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates image section</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>book</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates book header section</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>article</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates article header section</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>uml</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates UML block</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>math</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates Math block</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>tree</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates Tree block</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>quote</kbd>+<kbd>Tab</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Generates Quote block</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>B</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Bolds selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>I</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Italices selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>U</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Underlines selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>H</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Highlights selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>D</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Duplicates selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>L</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Displays line numbers</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>X</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Removes current line</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>N</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Creates new empty doc</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>M</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Maximizes the tab pane</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>S</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Saves current doc</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>W</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Saves and closes current doc</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>C</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Surrounds backtick `` selection</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Mouse_Scroll_Up</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Zoom in</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><span class="keyseq"><kbd>Ctrl</kbd>+<kbd>Mouse_Scroll_Down</kbd></span></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Zoom out</p></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect1">
<h2 id="trueknown-issues"><a class="anchor" href="#trueknown-issues"></a>Known Issues</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">PDF output shows all text as ####</dt>
<dd>
<p>On Linux platforms you can face with this issue. For the getting around for the issue you need to install Microsoft Core Fonts to your platform. How to install <a href="#microsoft-core-fonts">[microsoft-core-fonts]</a></p>
</dd>
<dt class="hdlist1">Mac QWERTY Keyboard Bug</dt>
<dd>
<p>There is a bug in JavaFX which makes all keyboards on a Mac behave as "QWERTY".
This means, that on a German "QWERTZ" layout the shortcuts for <code>undo</code> and <code>redo</code> are swapped.</p>
</dd>
<dt class="hdlist1">Text Artifacts (Rainbowing) on Text</dt>
<dd>
<p>If you are being distracted by rainbow text artifacts on text, you can work around the issue by passing some VM options in <code>[Install_Dir]/AsciidocFX.vmoptions</code>, as shared in <a href="https://github.com/TomasMikula/RichTextFX/issues/145">this RichTextFX bug</a>.</p>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Open <code>AsciidocFX.vmoptions</code>.</p>
</li>
<li>
<p>Add <code>-Dprism.text=t2k</code> and <code>-Dprism.lcdtext=false</code> to the file.</p>
</li>
<li>
<p>Save and close.</p>
</li>
<li>
<p>Launch AsciidocFX</p>
</li>
</ol>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truechangelog"><a class="anchor" href="#truechangelog"></a>Changelog</h2>
<div class="sectionbody">
<div class="paragraph">
<p>To see what has changed in recent versions of AsciidocFX, see the <a href="https://github.com/asciidocfx/AsciidocFX/blob/master/CHANGELOG.asc">CHANGELOG</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="truesupport"><a class="anchor" href="#truesupport"></a>Support</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Support AsciidocFX with pull requests or open an issue for bug &amp; feature requests. You can make discussions in <a href="https://groups.google.com/d/forum/asciidocfx-discuss">mail group</a> or in the chat room at <a href="https://gitter.im/asciidocfx/AsciidocFX">Gitter.im</a>.</p>
</div>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-55641163-1', 'auto');
  ga('send', 'pageview');

</script>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2016-11-01 18:46:48 TST
</div>
</div>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/github.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
<script>hljs.initHighlighting()</script>
</body>
</html>